S3にPUTしたらAWS LambdaからYoする
はじめに
全国1000万人のYoユーザーの皆さんこんにちは!需要の有無に関わらず不定期にYoのブログ記事を書き続ける佐々木です。ちなみにこれまで以下の記事を書きました。
どうです最近Yoしてますか?してませんよね?ぶっちゃけ僕もその存在を忘れていました。多くの皆さんにとってもスマホのデータ領域の肥やしになっているのでは無いでしょうか。
しかし!AWS Lambdaがリリースされた今、俄然注目を浴びているのがYoなのです!すみませんノリだけで書いてます!ということで!Amazon S3にファイルが配置されたらYoを投げるLambdaスクリプトを書いてみました!
やってみる
スクリプト用のフォルダを作成します。
$ mkdir yo $ cd ./yo
今回はrequestモジュールを使いますので、npmコマンドでローカルインストールします。
$ npm install request
そしてスクリプトを作成します。YOUR_API_TOKENには対象のYoアカウントのAPIトークンを埋め込みます。
$ vi index.js console.log('Loading event'); var request = require('request'); exports.handler = function(event, context) { console.log('Sending yo:'); request.post( 'http://api.justyo.co/yoall/', { form: { 'api_token': '<YOUR_API_TOKEN>' } }, function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } } ); };
そしてzip圧縮し、出来上がったzipファイルをAWS lambdaへアップロードします。
$ zip -r yo.zip index.js node_modules
後は適宜AWS LambdaやS3のEventを設定すると、S3にファイルがアップロードされるたびにYoが飛んできます!
まとめ
こうしてwebhook的に使えるのもlambdaの良さの一つだと思います。あと久しぶりにYoのドキュメントを読んだらlinkとかlocationとか増えてたのでそのうち試してみようと思います。